<

非推奨の API は v2.2 以降削除されました

まとめ

Flutter に準拠して、非推奨ポリシー、 以降にサポートが終了した非推奨の API 2.2 安定版リリースは削除されました。

影響を受けるすべての API はこれにコンパイルされています 移行を支援する主要な情報源。あクイックリファレンスシートも利用可能です。

変更点

このセクションでは、影響を受けるクラスごとに非推奨をリストします。

hasFloatingPlaceholderInputDecoration&InputDecorationTheme

Flutter Fixによるサポート: はい

hasFloatingPlaceholderv1.13.2 で非推奨になりました。 使用floatingLabelBehaviorその代わり。 どこuseFloatingPlaceholdertrue だったので、次のように置き換えますFloatingLabelBehavior.auto。 どこuseFloatingPlaceholderは false でした。次のように置き換えますFloatingLabelBehavior.never。 この変更により、元のバイナリを超えてより多くの動作を指定できるようになります。 選択、追加FloatingLabelBehavior.always追加オプションとして。

移行ガイド

移行前のコード:

// InputDecoration
// Base constructor
InputDecoration(hasFloatingPlaceholder: true);
InputDecoration(hasFloatingPlaceholder: false);

// collapsed constructor
InputDecoration.collapsed(hasFloatingPlaceholder: true);
InputDecoration.collapsed(hasFloatingPlaceholder: false);

// Field access
inputDecoration.hasFloatingPlaceholder;

// InputDecorationTheme
// Base constructor
InputDecorationTheme(hasFloatingPlaceholder: true);
InputDecorationTheme(hasFloatingPlaceholder: false);

// Field access
inputDecorationTheme.hasFloatingPlaceholder;

// copyWith
inputDecorationTheme.copyWith(hasFloatingPlaceholder: false);
inputDecorationTheme.copyWith(hasFloatingPlaceholder: true);

移行後のコード:

// InputDecoration
// Base constructor
InputDecoration(floatingLabelBehavior: FloatingLabelBehavior.auto);
InputDecoration(floatingLabelBehavior: FloatingLabelBehavior.never);

// collapsed constructor
InputDecoration.collapsed(floatingLabelBehavior: FloatingLabelBehavior.auto);
InputDecoration.collapsed(floatingLabelBehavior: FloatingLabelBehavior.never);

// Field access
inputDecoration.floatingLabelBehavior;

// InputDecorationTheme
// Base constructor
InputDecorationTheme(floatingLabelBehavior: FloatingLabelBehavior.auto);
InputDecorationTheme(floatingLabelBehavior: FloatingLabelBehavior.never);

// Field access
inputDecorationTheme.floatingLabelBehavior;

// copyWith
inputDecorationTheme.copyWith(floatingLabelBehavior: FloatingLabelBehavior.never);
inputDecorationTheme.copyWith(floatingLabelBehavior: FloatingLabelBehavior.auto);

参考文献

API ドキュメント:

  • InputDecoration
  • InputDecorationTheme
  • FloatingLabelBehavior

関連する問題:

  • InputDecoration: ラベルを常にフローティングにするオプション

関連する PR:

  • で廃止されました#46115
  • に削除されました#83923

TextTheme

Flutter Fixによるサポート: はい

いくつかのTextStyleの性質TextThemev1.13.8 で非推奨になりました。彼ら 次の表に、該当する代替物と並べて示します。 新しいAPI。

廃止予定 新しいAPI
ディスプレイ4 見出し1
ディスプレイ3 見出し2
ディスプレイ2 見出し3
ディスプレイ1 見出し4
見出し 見出し5
タイトル 見出し6
小見出し サブタイトル1
本体2 本文テキスト1
本体1 本文テキスト2
字幕 サブタイトル2

移行ガイド

移行前のコード:

// TextTheme
// Base constructor
TextTheme(
  display4: displayStyle4,
  display3: displayStyle3,
  display2: displayStyle2,
  display1: displayStyle1,
  headline: headlineStyle,
  title: titleStyle,
  subhead: subheadStyle,
  body2: body2Style,
  body1: body1Style,
  caption: captionStyle,
  button: buttonStyle,
  subtitle: subtitleStyle,
  overline: overlineStyle,
);

// copyWith
TextTheme.copyWith(
  display4: displayStyle4,
  display3: displayStyle3,
  display2: displayStyle2,
  display1: displayStyle1,
  headline: headlineStyle,
  title: titleStyle,
  subhead: subheadStyle,
  body2: body2Style,
  body1: body1Style,
  caption: captionStyle,
  button: buttonStyle,
  subtitle: subtitleStyle,
  overline: overlineStyle,
);

// Getters
TextStyle style;
style = textTheme.display4;
style = textTheme.display3;
style = textTheme.display2;
style = textTheme.display1;
style = textTheme.headline;
style = textTheme.title;
style = textTheme.subhead;
style = textTheme.body2;
style = textTheme.body1;
style = textTheme.caption;
style = textTheme.button;
style = textTheme.subtitle;
style = textTheme.overline;

移行後のコード:

// TextTheme
// Base constructor
TextTheme(
  headline1: displayStyle4,
  headline2: displayStyle3,
  headline3: displayStyle2,
  headline4: displayStyle1,
  headline5: headlineStyle,
  headline6: titleStyle,
  subtitle1: subheadStyle,
  bodyText1: body2Style,
  bodyText2: body1Style,
  caption: captionStyle,
  button: buttonStyle,
  subtitle2: subtitleStyle,
  overline: overlineStyle,
);

TextTheme.copyWith(
  headline1: displayStyle4,
  headline2: displayStyle3,
  headline3: displayStyle2,
  headline4: displayStyle1,
  headline5: headlineStyle,
  headline6: titleStyle,
  subtitle1: subheadStyle,
  bodyText1: body2Style,
  bodyText2: body1Style,
  caption: captionStyle,
  button: buttonStyle,
  subtitle2: subtitleStyle,
  overline: overlineStyle,
);

TextStyle style;
style = textTheme.headline1;
style = textTheme.headline2;
style = textTheme.headline3;
style = textTheme.headline4;
style = textTheme.headline5;
style = textTheme.headline6;
style = textTheme.subtitle1;
style = textTheme.bodyText1;
style = textTheme.bodyText2;
style = textTheme.caption;
style = textTheme.button;
style = textTheme.subtitle2;
style = textTheme.overline;

参考文献

設計書:

API ドキュメント:

  • TextTheme

関連する問題:

  • TextTheme を 2018 API に移行する

関連する PR:

  • で廃止されました#48547
  • に削除されました#83924

デフォルトTypography

Flutter Fix によるサポート: いいえ

デフォルトTypographyv1.13.8 で非推奨になりました。 以前のデフォルトでは、2014 マテリアル デザイン仕様のテキスト スタイルが返されていました。 これにより、次のようになりますTextStyle2018 マテリアル デザイン仕様を反映しています。 前者の場合は、material2014コンストラクタ。

移行ガイド

移行前のコード:

// Formerly returned 2014 TextStyle spec
Typography();

移行後のコード:

// Use 2018 TextStyle spec, either by default or explicitly.
Typography();
Typography.material2018();

// Use 2014 spec from former API
Typography.material2014();

参考文献

設計書:

API ドキュメント:

  • Typography

関連する問題:

  • TextTheme を 2018 API に移行する

関連する PR:

  • で廃止されました#48547
  • に削除されました#83924

タイムライン

安定版リリース: 2.5